.TH SYSINFO 3
.SH NAME    \" Section header
.PP

SYSINFO \- GNU interface for gathering system information

.SH SYNOPSIS
.PP
.nf 
.na
#include <sys/sysinfo.h>

int sysinfo(struct sysinfo *info);
.ad
.fi

.SH "DESCRIPTION"

The
.B sysinfo()
function returns common information about the configuration and state of
the system:

.nf
.na
struct sysinfo {
  long uptime;                  /* Seconds since boot */
  unsigned long loads[3];       /* 1, 5, and 15 minute load averages */
  unsigned long totalram;       /* Total usable main memory size */
  unsigned long freeram;        /* Available memory size */
  unsigned long sharedram;      /* Amount of shared memory */
  unsigned long bufferram;      /* Memory used by buffers */
  unsigned long totalswap;      /* Total swap space size */
  unsigned long freeswap;       /* swap space still available */
  unsigned short procs;         /* Number of current processes */
  unsigned short pad;           /* leaving this for linux compatibility */
  unsigned long totalhigh;      /* Total high memory size */
  unsigned long freehigh;       /* Available high memory size */
  unsigned int mem_unit;        /* Memory unit size in bytes */
  /* leaving this for linux compatibility */
  char _f[20-2*sizeof(long)-sizeof(int)];
};
.ad
.fi

.B sysinfo()
is a high-level GNU interface for retrieving information otherwise provided by
sysconf(3) and sysctl(3).

.SH RETURNS

0 on success, -1 if full data cannot be collected.

.SH "SEE ALSO"
sysconf(3), sysctl(3)

.SH STANDARDS

.B sysinfo()
is not portable, and is provided mainly as a bridge for porting GNU programs.

.SH AUTHOR
.nf
.na
Kostas Petrikas

